package com.simple.common.entity.po.sys;

import com.simple.common.framework.scale.Scale;
import lombok.Data;
import org.apache.commons.lang3.ObjectUtils;

import java.math.BigDecimal;

/**
 * 退款订单
 *
 * @author yasud
 * @date 2020年09月28日 15:26
 * @description
 */
@Data
public class RefundTrade extends BaseEntity2 {

    /**
     * 实例appId
     */
    private String appId;

    /**
     * 实例名称
     */
    private String appName;

    /**
     * 应用id
     */
    private Long applicationId;

    /**
     * 商户号
     */
    private String merchantNo;

    /**
     * 商户名称
     */
    private String merchantName;

    /**
     * 退款渠道code
     */
    private String channelCode;

    /**
     * 退款渠道名称
     */
    private String channelName;

    /**
     * 交易id
     */
    private Long tradeId;

    /**
     * 订单总金额
     */
    private String tradeAmount;

    /**
     * 已退款总金额
     */
    private String refundAmount;

    /**
     * 实际退款总金额
     */
    private String realRefundTotalAmount;

    /**
     * 退款币种，一般来说只支持支付是什么币种退款就是什么币种
     */
    private String currency;

    /**
     * 实际退款币种
     */
    private String realRefundCurrency;

    /**
     * 增加值
     *
     * @param refundAmount
     */
    public void addRefundAmount(String refundAmount) {
        this.refundAmount = Scale.scale(new BigDecimal(ObjectUtils.defaultIfNull(this.refundAmount, "0")).add(new BigDecimal(refundAmount))).toString();
    }

    /**
     * 增加值
     *
     * @param refundAmount
     */
    public void addRealRefundAmount(String refundAmount) {
        this.realRefundTotalAmount = Scale.scale(new BigDecimal(ObjectUtils.defaultIfNull(this.realRefundTotalAmount, "0")).add(new BigDecimal(refundAmount))).toString();
    }
}